﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using BLL;

namespace WebService_RentaCar
{
    /// <summary>
    /// Summary description for WebServiceEstiloAuto
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class WebServiceEstiloAuto : System.Web.Services.WebService
    {

        [WebMethod]
        public DataSet devolverEstilosAuto()
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.listaEstilos();


        }

        [WebMethod]
        public string insertarEstilosAutos(string Estilo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.Estilo = Estilo;

            return objgetValuesWS.ingresaEstilos();

        }

        [WebMethod]
        public string actualizarEstilosAutos(string Estilo, int idEstilo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoEstilo = idEstilo;
            objgetValuesWS.Estilo = Estilo;

            return objgetValuesWS.actualizaEstilos();

        }

        [WebMethod]
        public string eliminarEstilo(int codigoEstilo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoEstilo = codigoEstilo;

            return objgetValuesWS.eliminaEstilos();

        }


        [WebMethod]
        public DataSet editarEstilos(int codigoEstilo)
        {

            getValuesWS objgetValuesWS = new getValuesWS();

            objgetValuesWS.codigoEstilo = codigoEstilo;
            return objgetValuesWS.editaEstilos();


        }


        // "Facade"
        private class getValuesWS
        {

            #region Propiedades
            public int codigoEstilo { get; set; }
            public string Estilo { get; set; }

            public string estado { get; set; }
            #endregion

            public DataSet listaEstilos()
            {
                try
                {
                    EstiloAutoC objEstilos = new EstiloAutoC();
                    return objEstilos.cargarEstilosAutos();

                }
                catch (Exception)
                {
                    return null;
                }

            }

            public string ingresaEstilos()
            {
                try
                {

                    EstiloAutoC objEstilos = new EstiloAutoC();
                    objEstilos.estiloAuto = Estilo;

                    estado = objEstilos.insertarEstilosAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public string actualizaEstilos()
            {
                try
                {

                    EstiloAutoC objEstilos = new EstiloAutoC();
                    objEstilos.codigoEstilo = codigoEstilo;
                    objEstilos.estiloAuto = Estilo;

                    estado = objEstilos.actualizarEstilosAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public string eliminaEstilos()
            {
                try
                {
                    EstiloAutoC objEstilos = new EstiloAutoC();
                    objEstilos.codigoEstilo = codigoEstilo;
                    estado = objEstilos.eliminarEstilosAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public DataSet editaEstilos()
            {
                try
                {
                    EstiloAutoC objEstilos = new EstiloAutoC();

                    objEstilos.codigoEstilo = codigoEstilo;
                    return objEstilos.editarEstilosAutos();

                }
                catch (Exception)
                {
                    return null;
                }

            }
        }
    }
}
